package com.skivingcloud.admin.sys.mapper;

import com.skivingcloud.admin.sys.entity.MenuBean;
import com.skivingcloud.admin.sys.entity.SysMenu;

import java.util.Collection;
import java.util.List;
import java.util.Map;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;

/**
 * <p>
 * 菜单管理 Mapper 接口
 * </p>
 *
 * @author skivingcloud
 * @since 2022-01-29
 */
public interface SysMenuMapper extends BaseMapper<SysMenu> {

	/**
	 * 用户角色菜单列表
	 * 
	 * @param param
	 * @return 
	 */
	List<Map<String, Object>> selectUserMenuListMap(Map<String, Object> param);

	/**
	 * 查询用户按钮权限
	 * @param param
	 * @return
	 */
	List<Map<String, Object>> getUserPermissions(Map<String, Object> param);

	/**
	 * 按岗位查询菜单范围
	 * @param param
	 * @return
	 */
	List<Map<String, Object>> getCommUseMenuSetTreeStation(Map<String, Object> param);

	/**
	 * 按角色查询菜单范围
	 * @param param
	 * @return
	 */
	List<Map<String, Object>> getCommUseMenuSetTreeRole(Map<String, Object> param);

	/**
	 * 查询已设置的常用菜单
	 * @param id
	 * @return 
	 */
	List<MenuBean> getMenuCheckList(String id);

	/**
	 * 根据终端查常用菜单
	 * 
	 * @param map
	 * @return
	 */
	List<MenuBean> queryCommUseMenuListByTerminal(Map<String, Object> map);

	List<MenuBean> queryNotButtonList(Integer type);

}
